#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false), cin.tie(0)
using namespace std;
typedef long long ll;
const int maxn=10000;
class A{
    public:
    int x[maxn];//问题的最优解
    int ans;//最优值
    int num;//被分解数
    int cnt;//分解的因子个数
    A(int n):num(n){
        cnt=0;ans=1;
    };
    void solve(){
        int temp=0;
        //1对乘积没有贡献，所以从2开始累加
        for(int i=2;temp+i<=num;i++){
            temp+=i;
            x[cnt++]=i;
        }
        temp=num-temp;//剩余的数
        if(temp==cnt+1)x[cnt-1]++;//剩余的数比已经选出来的数多一个，分配给最大的那个数
        for(int i=cnt-1;i>=0&&temp>0;i--){x[i]++;temp--;}//从后向前分配剩余的数
        for(int i=0;i<cnt;i++){
            ans*=x[i];
        }//求最大乘积值
        return ;
    }
    void print(){
        cout<<"最优解:"<<endl;
        cout<<num<<"="<<x[0];
        for(int i=1;i<cnt;i++){
            cout<<"+"<<x[i];
        }
        cout<<endl;
        cout<<"最大乘积:"<<ans<<endl;
        return ;
    }
};

int main()
{
    IOS;
    int n;
    cin>>n;
    A a(n);
    a.solve();
    a.print();
    getchar();
    getchar();
    return 0;
}
